package com.personal.oa.solr;

import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.SolrDocument;

import java.util.Date;
import java.util.List;

/**
 * Created by Administrator on 2017/9/13.
 */
@SolrDocument(solrCoreName = "oa")
public class OADocSolrModel {
    private @Id
    @Field("ID") String id;//uuid
    private @Field("OAI") List<String> oai;//oai
    private @Field("DATESTAMP") Date datestamp;//更新时间
    private @Field("DATESTAMPYEAR") Integer datestampyear;//更新时间年

    private @Field("TITLE") String title;//标题
    private @Field("CREATOR") List<String> creator;//作者
    private @Field("SUBJECT") List<String> subject;//学科
    private @Field("DESCRIPTION") String description;//摘要
    private @Field("CREATTIME") Date creattime;//创建时间
    private @Field("CREATTIMEYEAR") Integer creattimeyear;//创建时间年

    private @Field("TYPE") String type;//类型
    private @Field("WEBADDRESS") List<String> webaddress;//链接地址
    private @Field("DOI") List<String> doi;//doi
    private @Field("PUBLISHER") String publisher;//出版商

    private @Field("LANGUAGE") List<String> language;//语言
//    private @Field("LANGUAGECN") List<String> languagecn;//语言

    private @Field("SOURCE") List<String> source;//来源
    private @Field("JOURNALNAME") String journalname;//期刊名
    private @Field("VOL") String vol;//卷
    private @Field("ISS") String iss;//期
    private @Field("PP") String pp;//来源

    private @Field("RELATION") List<String> relation;//关系

    private @Field("DBELONGSTO") String dbelongsto;//学位
//    private @Field("DBELONGSTOCN") String dbelongstocn;//

    private @Field("DNAME") String dname;//具体的什么学位
    private @Field("ISBN") List<String> isbn;//ISBN
    private @Field("ISSN") List<String> issn;//ISSN
    private @Field("KEYWORDS") List<String> ketwords;//关键字

//    private @Field("OBTYPE") String oatype;//对象类型
    private @Field("OBTYPECN") String oatypecn;//对象类型

    private @Field("UNIVERSITY") List<String> university;//学校
    private @Field("COUNTRY") String country;//国家
    private @Field("FILEURL") List<String> fileurl;//文件链接

    public OADocSolrModel() {
    }

    public OADocSolrModel(String id, List<String> oai, Date datestamp, Integer datestampyear, String title, List<String> creator, List<String> subject, String description, Date creattime, Integer creattimeyear, String type, List<String> webaddress, List<String> doi, String publisher, List<String> language, List<String> source, String journalname, String vol, String iss, String pp, List<String> relation, String dbelongsto, String dname, List<String> isbn, List<String> issn, List<String> ketwords, String oatypecn, List<String> university, String country, List<String> fileurl) {
        this.id = id;
        this.oai = oai;
        this.datestamp = datestamp;
        this.datestampyear = datestampyear;
        this.title = title;
        this.creator = creator;
        this.subject = subject;
        this.description = description;
        this.creattime = creattime;
        this.creattimeyear = creattimeyear;
        this.type = type;
        this.webaddress = webaddress;
        this.doi = doi;
        this.publisher = publisher;
        this.language = language;
        this.source = source;
        this.journalname = journalname;
        this.vol = vol;
        this.iss = iss;
        this.pp = pp;
        this.relation = relation;
        this.dbelongsto = dbelongsto;
        this.dname = dname;
        this.isbn = isbn;
        this.issn = issn;
        this.ketwords = ketwords;
        this.oatypecn = oatypecn;
        this.university = university;
        this.country = country;
        this.fileurl = fileurl;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public List<String> getOai() {
        return oai;
    }

    public void setOai(List<String> oai) {
        this.oai = oai;
    }

    public Date getDatestamp() {
        return datestamp;
    }

    public void setDatestamp(Date datestamp) {
        this.datestamp = datestamp;
    }

    public Date getCreattime() {
        return creattime;
    }

    public void setCreattime(Date creattime) {
        this.creattime = creattime;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public List<String> getCreator() {
        return creator;
    }

    public void setCreator(List<String> creator) {
        this.creator = creator;
    }

    public List<String> getSubject() {
        return subject;
    }

    public void setSubject(List<String> subject) {
        this.subject = subject;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public List<String> getWebaddress() {
        return webaddress;
    }

    public void setWebaddress(List<String> webaddress) {
        this.webaddress = webaddress;
    }

    public List<String> getDoi() {
        return doi;
    }

    public void setDoi(List<String> doi) {
        this.doi = doi;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public List<String> getLanguage() {
        return language;
    }

    public void setLanguage(List<String> language) {
        this.language = language;
    }

    public List<String> getSource() {
        return source;
    }

    public void setSource(List<String> source) {
        this.source = source;
    }

    public String getJournalname() {
        return journalname;
    }

    public void setJournalname(String journalname) {
        this.journalname = journalname;
    }

    public String getVol() {
        return vol;
    }

    public void setVol(String vol) {
        this.vol = vol;
    }

    public String getIss() {
        return iss;
    }

    public void setIss(String iss) {
        this.iss = iss;
    }

    public String getPp() {
        return pp;
    }

    public void setPp(String pp) {
        this.pp = pp;
    }

    public List<String> getIssn() {
        return issn;
    }

    public void setIssn(List<String> issn) {
        this.issn = issn;
    }

    public List<String> getRelation() {
        return relation;
    }

    public void setRelation(List<String> relation) {
        this.relation = relation;
    }

    public String getDbelongsto() {
        return dbelongsto;
    }

    public void setDbelongsto(String dbelongsto) {
        this.dbelongsto = dbelongsto;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }

    public List<String> getIsbn() {
        return isbn;
    }

    public void setIsbn(List<String> isbn) {
        this.isbn = isbn;
    }

    public List<String> getKetwords() {
        return ketwords;
    }

    public void setKetwords(List<String> ketwords) {
        this.ketwords = ketwords;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public List<String> getFileurl() {
        return fileurl;
    }

    public void setFileurl(List<String> fileurl) {
        this.fileurl = fileurl;
    }

    public Integer getCreattimeyear() {
        return creattimeyear;
    }

    public void setCreattimeyear(Integer creattimeyear) {
        this.creattimeyear = creattimeyear;
    }

    public Integer getDatestampyear() {
        return datestampyear;
    }

    public void setDatestampyear(Integer datestampyear) {
        this.datestampyear = datestampyear;
    }

    public String getOatypecn() {
        return oatypecn;
    }

    public void setOatypecn(String oatypecn) {
        this.oatypecn = oatypecn;
    }

    public List<String> getUniversity() {
        return university;
    }

    public void setUniversity(List<String> university) {
        this.university = university;
    }
}

